package es.exiquets.entities;

// Generated 23-jun-2013 0:06:17 by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Productos generated by hbm2java
 */
@Entity
@Table(name = "productos")
public class Productos implements java.io.Serializable {

	private Integer idProductos;
	private Categorias categorias;
	private String descripcion;
	private Integer stock;
	private String img;
	private Float precio;
	private Set<Usuarios> usuarioses = new HashSet<Usuarios>(0);

	public Productos() {
	}

	public Productos(Categorias categorias, String descripcion, Integer stock,
			String img, Float precio, Set<Usuarios> usuarioses) {
		this.categorias = categorias;
		this.descripcion = descripcion;
		this.stock = stock;
		this.img = img;
		this.precio = precio;
		this.usuarioses = usuarioses;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idProductos", unique = true, nullable = false)
	public Integer getIdProductos() {
		return this.idProductos;
	}

	public void setIdProductos(Integer idProductos) {
		this.idProductos = idProductos;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "categoria")
	public Categorias getCategorias() {
		return this.categorias;
	}

	public void setCategorias(Categorias categorias) {
		this.categorias = categorias;
	}

	@Column(name = "descripcion")
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "stock")
	public Integer getStock() {
		return this.stock;
	}

	public void setStock(Integer stock) {
		this.stock = stock;
	}

	@Column(name = "img")
	public String getImg() {
		return this.img;
	}

	public void setImg(String img) {
		this.img = img;
	}

	@Column(name = "precio", precision = 12, scale = 0)
	public Float getPrecio() {
		return this.precio;
	}

	public void setPrecio(Float precio) {
		this.precio = precio;
	}

	@ManyToMany(fetch = FetchType.LAZY)
	@JoinTable(name = "usuarios_has_productos", joinColumns = { @JoinColumn(name = "Productos_idProductos", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "Usuarios_idUsuarios", nullable = false, updatable = false) })
	public Set<Usuarios> getUsuarioses() {
		return this.usuarioses;
	}

	public void setUsuarioses(Set<Usuarios> usuarioses) {
		this.usuarioses = usuarioses;
	}

}
